From 17d5278d593d93a331b79dcf68c60face33b6d7a Mon Sep 17 00:00:00 2001 From: NiLSPACE Date: Thu, 25 May 2023 09:34:39 +0200 Subject: Added a warning if the webadmin is enabled without any users. (#5499) --- src/WebAdmin.cpp | 24 ++++++++++++++++++++++++ src/WebAdmin.h | 3 +++ 2 files changed, 27 insertions(+) diff --git a/src/WebAdmin.cpp b/src/WebAdmin.cpp index 39b935fbd..775dc1860 100644 --- a/src/WebAdmin.cpp +++ b/src/WebAdmin.cpp @@ -190,6 +190,13 @@ void cWebAdmin::Reload(void) " This will not take effect until you restart the server." ); } + else if (!HasUsers()) + { + LOGWARNING( + "The webadmin is enabled but has no users configured." + " To add new users, edit webadmin.ini" + ); + } // Initialize the WebAdmin template script and reload the file: if (m_TemplateScript.IsValid()) @@ -248,6 +255,23 @@ bool cWebAdmin::LoadIniFile(void) +bool cWebAdmin::HasUsers() +{ + for (int i = 0; i < m_IniFile.GetNumKeys(); i++) + { + AString key = m_IniFile.GetKeyName(i); + if (key.rfind("User:", 0) == 0) + { + return true; + } + } + return false; +} + + + + + void cWebAdmin::HandleWebadminRequest(cHTTPServerConnection & a_Connection, cHTTPIncomingRequest & a_Request) { if (!a_Request.HasAuth()) diff --git a/src/WebAdmin.h b/src/WebAdmin.h index 682c533b2..a90d7b2d0 100644 --- a/src/WebAdmin.h +++ b/src/WebAdmin.h @@ -260,6 +260,9 @@ protected: Returns true if webadmin is enabled, false if disabled. */ bool LoadIniFile(void); + /** Checks inside the webadmin.ini file if there are users configured. */ + bool HasUsers(); + /** Handles requests coming to the "/webadmin" or "/~webadmin" URLs */ void HandleWebadminRequest(cHTTPServerConnection & a_Connection, cHTTPIncomingRequest & a_Request); -- cgit v1.2.3